import type { GeneratedEtsLibFile } from "../../types/generated";

export const FILE: GeneratedEtsLibFile = {
  path: 'ets/api/@ohos.security.cryptoFramework.d.ts',
  content: "/*\n * Copyright (c) 2022-2024 Huawei Device Co., Ltd.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @file\n * @kit CryptoArchitectureKit\n */\nimport type { AsyncCallback } from './@ohos.base';\n/**\n * Provides a set of encryption and decryption algorithm library framework, shields the underlying differences,\n * encapsulate the relevant algorithm library, and provides a unified functional interface upward.\n *\n * @namespace cryptoFramework\n * @syscap SystemCapability.Security.CryptoFramework\n * @since 9\n */\n/**\n * Provides a set of encryption and decryption algorithm library framework, shields the underlying differences,\n * encapsulate the relevant algorithm library, and provides a unified functional interface upward.\n *\n * @namespace cryptoFramework\n * @syscap SystemCapability.Security.CryptoFramework\n * @crossplatform\n * @atomicservice\n * @since 11\n */\ndeclare namespace cryptoFramework {\n    /**\n     * Enum for result code.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Enum for result code.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @atomicservice\n     * @since 11\n     */\n    enum Result {\n        /**\n         * Indicates that input parameters is invalid.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates that input parameters is invalid.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 11\n         */\n        INVALID_PARAMS = 401,\n        /**\n         * Indicates that function or algorithm is not supported.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates that function or algorithm is not supported.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates that function or algorithm is not supported.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        NOT_SUPPORT = 801,\n        /**\n         * Indicates the memory operation failed.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the memory operation failed.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 11\n         */\n        ERR_OUT_OF_MEMORY = 17620001,\n        /**\n         * Indicates that failed to convert parameters between arkts and c.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates that failed to convert parameters between arkts and c.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates that failed to convert parameters between arkts and c.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ERR_RUNTIME_ERROR = 17620002,\n        /**\n         * Indicates that parameter check failed.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 20\n         */\n        ERR_PARAMETER_CHECK_FAILED = 17620003,\n        /**\n         * Indicates that crypto operation error.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates that crypto operation error.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 11\n         */\n        ERR_CRYPTO_OPERATION = 17630001\n    }\n    /**\n     * Provides the data blob type.\n     *\n     * @typedef DataBlob\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Defines a buffer array of the Binary Large Object (BLOB) type.\n     *\n     * @typedef DataBlob\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @atomicservice\n     * @since 11\n     */\n    interface DataBlob {\n        /**\n         * Indicates the content of data blob.\n         *\n         * @type { Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the content of data blob.\n         *\n         * @type { Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 11\n         */\n        data: Uint8Array;\n    }\n    /**\n     * Provides the ParamsSpec type, including the algorithm name.\n     *\n     * @typedef ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the ParamsSpec type, including the algorithm name.\n     *\n     * @typedef ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Encapsulates the parameters used for encryption or decryption.You need to construct its child class object and\n     * pass it to init for symmetric encryption or decryption.\n     *\n     * @typedef ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Cipher\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface ParamsSpec {\n        /**\n         * Indicates the algorithm name. Should be set before initialization of a cipher object.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the algorithm name. Should be set before initialization of a cipher object.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name. Should be set before initialization of a cipher object.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        algName: string;\n    }\n    /**\n     * Provides the IvParamsSpec type, including the parameter iv.\n     *\n     * @typedef IvParamsSpec\n     * @extends ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the IvParamsSpec type, including the parameter iv.\n     *\n     * @typedef IvParamsSpec\n     * @extends ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Defines the child class of ParamsSpec. It is a parameter of init for symmetric encryption or decryption.\n     * IvParamsSpec applies to the cipher modes such as CBC, CTR, OFB, and CFB, which use only the IV.\n     *\n     * @typedef IvParamsSpec\n     * @extends ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Cipher\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface IvParamsSpec extends ParamsSpec {\n        /**\n         * Indicates the algorithm parameters such as iv.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the algorithm parameters such as iv.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * IV for encryption or decryption.\n         * Options:\n         * - AES CBC, CTR, OFB, or CFB mode: 16-byte IV\n         * - 3DES CBC, OFB, or CFB mode: 8-byte IV\n         * - SM4 CBC, CTR, OFB, or CFB mode: 16-byte IV\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        iv: DataBlob;\n    }\n    /**\n     * Provides the GcmParamsSpec type, including the parameter iv, aad and authTag.\n     *\n     * @typedef GcmParamsSpec\n     * @extends ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the GcmParamsSpec type, including the parameter iv, aad and authTag.\n     *\n     * @typedef GcmParamsSpec\n     * @extends ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the GcmParamsSpec type, including the parameter iv, aad and authTag.\n     *\n     * @typedef GcmParamsSpec\n     * @extends ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Cipher\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface GcmParamsSpec extends ParamsSpec {\n        /**\n         * Indicates the GCM algorithm parameters such as iv.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the GCM algorithm parameters such as iv.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the GCM algorithm parameters such as iv.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        iv: DataBlob;\n        /**\n         * Indicates the additional Authenticated Data in GCM mode.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the additional Authenticated Data in GCM mode.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the additional Authenticated Data in GCM mode.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        aad: DataBlob;\n        /**\n         * Indicates the output tag from the encryption operation. The tag is used for integrity check.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the output tag from the encryption operation. The tag is used for integrity check.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the output tag from the encryption operation. The tag is used for integrity check.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        authTag: DataBlob;\n    }\n    /**\n     * Provides the CcmParamsSpec type, including the parameter iv, aad and authTag.\n     *\n     * @typedef CcmParamsSpec\n     * @extends ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the CcmParamsSpec type, including the parameter iv, aad and authTag.\n     *\n     * @typedef CcmParamsSpec\n     * @extends ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the CcmParamsSpec type, including the parameter iv, aad and authTag.\n     *\n     * @typedef CcmParamsSpec\n     * @extends ParamsSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Cipher\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface CcmParamsSpec extends ParamsSpec {\n        /**\n         * Indicates the GCM algorithm parameters such as IV.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the GCM algorithm parameters such as IV.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the GCM algorithm parameters such as IV.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        iv: DataBlob;\n        /**\n         * Indicates the Additional Authenticated Data in CCM mode.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the Additional Authenticated Data in CCM mode.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the Additional Authenticated Data in CCM mode.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        aad: DataBlob;\n        /**\n         * Indicates the output tag from the encryption operation. The tag is used for integrity check.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the output tag from the encryption operation. The tag is used for integrity check.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the output tag from the encryption operation. The tag is used for integrity check.\n         *\n         * @type { DataBlob }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        authTag: DataBlob;\n    }\n    /**\n     * Enum for obtain the crypto operation.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Enum for obtain the crypto operation.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Enumerates the cryptographic operations.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework.Cipher\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum CryptoMode {\n        /**\n         * The value of encryption operation for AES, 3DES and RSA.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * The value of encryption operation for AES, 3DES and RSA.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * The value of encryption operation for AES, 3DES and RSA.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ENCRYPT_MODE = 0,\n        /**\n         * The value of decryption operation for AES, 3DES and RSA.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * The value of decryption operation for AES, 3DES and RSA.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * The value of decryption operation for AES, 3DES and RSA.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DECRYPT_MODE = 1\n    }\n    /**\n     * Represents the RSA private key encoding parameters. You can use it to generate an encoded private key string with the specified algorithm and password.\n     *\n     * @typedef KeyEncodingConfig\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    interface KeyEncodingConfig {\n        /**\n         * The password to encrypt the private key.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        password: string;\n        /**\n         * The symmetric cipher name to encrypt the private key, such as \"AES-256-CBC\".\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        cipherName: string;\n    }\n    /**\n     * Provides the Key type, which is the common parent class of keys.\n     *\n     * @typedef Key\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the Key type, which is the common parent class of keys.\n     *\n     * @typedef Key\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the Key type, which is the common parent class of keys.\n     * Before performing cryptographic operations, you need to construct a child class object of Key and pass it to init of the Cipher instance.\n     *\n     * @typedef Key\n     * @syscap SystemCapability.Security.CryptoFramework.Key\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface Key {\n        /**\n         * Encode the key object to binary data.\n         *\n         * @returns { DataBlob } the binary data of the key object.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Encode the key object to binary data.\n         *\n         * @returns { DataBlob } the binary data of the key object.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Encode the key object to binary data.\n         * The key can be a symmetric key, public key, or private key.\n         * The public key must be in DER encoding format and comply with the ASN.1 syntax and X.509 specifications.\n         * The private key must be in DER encoding format and comply with the ASN.1 syntax and PKCS#8 specifications.\n         *\n         * @returns { DataBlob } the binary data of the key object.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getEncoded(): DataBlob;\n        /**\n         * Indicates the format of the key object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the format of the key object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the format of the key object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Key\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly format: string;\n        /**\n         * Indicates the algorithm name of the key object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the algorithm name of the key object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the key object. This parameter contains the key length if the key is a symmetric key.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Key\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Provides the SymKey type, which is used for symmetric cryptography.\n     *\n     * @typedef SymKey\n     * @extends Key\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the SymKey type, which is used for symmetric cryptography.\n     *\n     * @typedef SymKey\n     * @extends Key\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides APIs for symmetric key operations.\n     * Its objects need to be passed to init of the Cipher instance in symmetric encryption and decryption.\n     *\n     * @typedef SymKey\n     * @extends Key\n     * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface SymKey extends Key {\n        /**\n         * Reset the key data to zero in the memory.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Reset the key data to zero in the memory.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Clears the keys in the memory. This API returns the result synchronously.\n         * You are advised to use this API when symmetric key instances are no longer used.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        clearMem(): void;\n    }\n    /**\n     * Provides the private key type.\n     *\n     * @typedef PriKey\n     * @extends Key\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the private key type.\n     *\n     * @typedef PriKey\n     * @extends Key\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the private key type. It needs to be passed in during asymmetric encryption and decryption, signing, and key agreement.\n     *\n     * @typedef PriKey\n     * @extends Key\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface PriKey extends Key {\n        /**\n         * Clear memory of private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Clear memory of private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Clear memory of private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        clearMem(): void;\n        /**\n         * Get the specified parameter of the private key.\n         *\n         * @param { AsyKeySpecItem } itemType - indicates the specified parameters type.\n         * @returns { bigint | string | number } the specified parameters value.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Get the specified parameter of the private key.\n         *\n         * @param { AsyKeySpecItem } itemType - indicates the specified parameters type.\n         * @returns { bigint | string | number } the specified parameters value.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Get the specified parameter of the private key.\n         *\n         * @param { AsyKeySpecItem } itemType - indicates the specified parameters type.\n         * @returns { bigint | string | number } the specified parameters value.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getAsyKeySpec(itemType: AsyKeySpecItem): bigint | string | number;\n        /**\n         * Encode the private key object to binary data in DER format.\n         *\n         * @param { string } format - indicates the encoding format.\n         * @returns { DataBlob } the binary data of the key object in DER format.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getEncodedDer(format: string): DataBlob;\n        /**\n         * Encode the private key object to string in PEM format.\n         * The key can be an RSA public or private key. The private key must comply with PKCS8 or PKCS1 specifications and PEM encoding format.\n         *\n         * @param { string } format - indicates the encoding format.\n         * @returns { string } the string of the key object in PEM format.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getEncodedPem(format: string): string;\n        /**\n         * Encode the private key object to string in PEM format.\n         * The key can be an RSA public or private key. The private key must comply with PKCS8 or PKCS1 specifications and PEM encoding format.\n         *\n         * @param { string } format - indicates the encoding format.\n         * @param { KeyEncodingConfig } config - indicates the encoding configuration.\n         * @returns { string } the string of the key object in PEM format.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        getEncodedPem(format: string, config: KeyEncodingConfig): string;\n    }\n    /**\n     * Provides the public key interface for asymmetric keys.\n     *\n     * @typedef PubKey\n     * @extends Key\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the public key interface for asymmetric keys.\n     *\n     * @typedef PubKey\n     * @extends Key\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the public key interface for asymmetric keys.\n     *\n     * @typedef PubKey\n     * @extends Key\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface PubKey extends Key {\n        /**\n         * Get the specified parameter of the public key.\n         *\n         * @param { AsyKeySpecItem } itemType - indicates the specified parameters type.\n         * @returns { bigint | string | number } the specified parameters value.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Get the specified parameter of the public key.\n         *\n         * @param { AsyKeySpecItem } itemType - indicates the specified parameters type.\n         * @returns { bigint | string | number } the specified parameters value.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Get the specified parameter of the public key.\n         *\n         * @param { AsyKeySpecItem } itemType - indicates the specified parameters type.\n         * @returns { bigint | string | number } the specified parameters value.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getAsyKeySpec(itemType: AsyKeySpecItem): bigint | string | number;\n        /**\n         * Encode the public key object to binary data in DER format.\n         * Currently, only compressed and uncompressed ECC public key data can be obtained.\n         *\n         * @param { string } format - indicates the encoding format.\n         * @returns { DataBlob } the binary data of the key object in DER format.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getEncodedDer(format: string): DataBlob;\n        /**\n         * Encode the public key object to string in PEM format.\n         * The public key must comply with the X.509 specifications, PKCS1 specifications, and PEM encoding format.\n         *\n         * @param { string } format - indicates the encoding format.\n         * @returns { string } the string of the key object in PEM format.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getEncodedPem(format: string): string;\n    }\n    /**\n     * Provides the keypair interface for asymmetric keys. A keyPair object contains both private key and public key.\n     *\n     * @typedef KeyPair\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the keypair interface for asymmetric keys. A keyPair object contains both private key and public key.\n     *\n     * @typedef KeyPair\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the keypair interface for asymmetric keys. A keyPair object contains both private key and public key.\n     *\n     * @typedef KeyPair\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface KeyPair {\n        /**\n         * KeyPair's private key.\n         *\n         * @type { PriKey }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * KeyPair's private key.\n         *\n         * @type { PriKey }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * KeyPair's private key.\n         *\n         * @type { PriKey }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly priKey: PriKey;\n        /**\n         * KeyPair's public key.\n         *\n         * @type { PubKey }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * KeyPair's public key.\n         *\n         * @type { PubKey }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * KeyPair's public key.\n         *\n         * @type { PubKey }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly pubKey: PubKey;\n    }\n    /**\n     * Provides the random interface.\n     *\n     * @typedef Random\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the random interface.\n     *\n     * @typedef Random\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @atomicservice\n     * @since 11\n     */\n    /**\n     * Provides APIs for computing random numbers and setting seeds.\n     *\n     * @typedef Random\n     * @syscap SystemCapability.Security.CryptoFramework.Rand\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface Random {\n        /**\n         * Generate random DataBlob by given length.\n         *\n         * @param { number } len - indicates the length of random DataBlob.\n         * @param { AsyncCallback<DataBlob> } callback - the callback used to return random DataBlob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Generate random DataBlob by given length.\n         *\n         * @param { number } len - indicates the length of random DataBlob.\n         * @param { AsyncCallback<DataBlob> } callback - the callback used to return random DataBlob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 11\n         */\n        /**\n         * Generate random DataBlob by given length.\n         *\n         * @param { number } len - indicates the length of random DataBlob.\n         * @param { AsyncCallback<DataBlob> } callback - the callback used to return random DataBlob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Rand\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateRandom(len: number, callback: AsyncCallback<DataBlob>): void;\n        /**\n         * Generate random DataBlob by given length.\n         *\n         * @param { number } len - indicates the length of random DataBlob.\n         * @returns { Promise<DataBlob> } the promise used to return the generated random blob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Generate random DataBlob by given length.\n         *\n         * @param { number } len - indicates the length of random DataBlob.\n         * @returns { Promise<DataBlob> } the promise used to return the generated random blob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 11\n         */\n        /**\n         * Generate random DataBlob by given length.\n         *\n         * @param { number } len - indicates the length of random DataBlob.\n         * @returns { Promise<DataBlob> } the promise used to return the generated random blob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Rand\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateRandom(len: number): Promise<DataBlob>;\n        /**\n         * Generate random DataBlob by given length synchronously.\n         *\n         * @param { number } len - indicates the length of random DataBlob.\n         * @returns { DataBlob } return the generated random blob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Generate random DataBlob by given length synchronously.\n         *\n         * @param { number } len - indicates the length of random DataBlob.\n         * @returns { DataBlob } return the generated random blob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 11\n         */\n        /**\n         * Generate random DataBlob by given length synchronously.\n         *\n         * @param { number } len - indicates the length of random DataBlob.\n         * @returns { DataBlob } return the generated random blob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Rand\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateRandomSync(len: number): DataBlob;\n        /**\n         * Set seed by given DataBlob.\n         *\n         * @param { DataBlob } seed - indicates the seed DataBlob.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 9\n         */\n        /**\n         * Set seed by given DataBlob.\n         *\n         * @param { DataBlob } seed - indicates the seed DataBlob.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 11\n         */\n        /**\n         * Set seed by given DataBlob.\n         *\n         * @param { DataBlob } seed - indicates the seed DataBlob.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework.Rand\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        setSeed(seed: DataBlob): void;\n        /**\n         * Indicates the random generation algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the random generation algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @atomicservice\n         * @since 11\n         */\n        /**\n         * Indicates the random generation algorithm name. Currently, only CTR_DRBG is supported.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Rand\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Create a random generator instance.\n     *\n     * @returns { Random } returns the created rand instance.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Create a random generator instance.\n     *\n     * @returns { Random } returns the created rand instance.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @atomicservice\n     * @since 11\n     */\n    /**\n     * Create a random generator instance.\n     *\n     * @returns { Random } returns the created rand instance.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework.Rand\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createRandom(): Random;\n    /**\n     * The AsyKeyGenerator provides the ability to generate or convert keyPair.\n     *\n     * @typedef AsyKeyGenerator\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * The AsyKeyGenerator provides the ability to generate or convert keyPair.\n     *\n     * @typedef AsyKeyGenerator\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * The AsyKeyGenerator provides the ability to generate or convert keyPair.\n     *\n     * @typedef AsyKeyGenerator\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface AsyKeyGenerator {\n        /**\n         * Used to generate asymmetric keypair.\n         *\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Incorrect parameter types;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to generate asymmetric keypair.\n         *\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Incorrect parameter types;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to generate asymmetric keypair.\n         *\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Incorrect parameter types;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateKeyPair(callback: AsyncCallback<KeyPair>): void;\n        /**\n         * Used to generate asymmetric keypair.\n         *\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to generate asymmetric keypair.\n         *\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to generate asymmetric keypair.\n         *\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateKeyPair(): Promise<KeyPair>;\n        /**\n         * Used to generate asymmetric keypair.\n         *\n         * @returns { KeyPair } return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateKeyPairSync(): KeyPair;\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob } pubKey - the public key data blob.\n         * @param { DataBlob } priKey - the private key data blob.\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob } pubKey - the public key data blob.\n         * @param { DataBlob } priKey - the private key data blob.\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob } pubKey - the public key data blob.\n         * @param { DataBlob } priKey - the private key data blob.\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        convertKey(pubKey: DataBlob, priKey: DataBlob, callback: AsyncCallback<KeyPair>): void;\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob | null } pubKey - the public key data blob.\n         * @param { DataBlob | null } priKey - the private key data blob.\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob | null } pubKey - the public key data blob.\n         * @param { DataBlob | null } priKey - the private key data blob.\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob | null } pubKey - the public key data blob.\n         * @param { DataBlob | null } priKey - the private key data blob.\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        convertKey(pubKey: DataBlob | null, priKey: DataBlob | null, callback: AsyncCallback<KeyPair>): void;\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob } pubKey - the public key data blob.\n         * @param { DataBlob } priKey - the private key data blob.\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob } pubKey - the public key data blob.\n         * @param { DataBlob } priKey - the private key data blob.\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob } pubKey - the public key data blob.\n         * @param { DataBlob } priKey - the private key data blob.\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        convertKey(pubKey: DataBlob, priKey: DataBlob): Promise<KeyPair>;\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob | null } pubKey - the public key data blob.\n         * @param { DataBlob | null } priKey - the private key data blob.\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob | null } pubKey - the public key data blob.\n         * @param { DataBlob | null } priKey - the private key data blob.\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob | null } pubKey - the public key data blob.\n         * @param { DataBlob | null } priKey - the private key data blob.\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        convertKey(pubKey: DataBlob | null, priKey: DataBlob | null): Promise<KeyPair>;\n        /**\n         * Used to convert asymmetric key data to keypair object.\n         *\n         * @param { DataBlob | null } pubKey - the public key data blob.\n         * @param { DataBlob | null } priKey - the private key data blob.\n         * @returns { KeyPair } return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        convertKeySync(pubKey: DataBlob | null, priKey: DataBlob | null): KeyPair;\n        /**\n         * Used to convert asymmetric key in PEM format to keypair object.\n         *\n         * @param { string | null } pubKey - the public key string in PEM format.\n         * @param { string | null } priKey - the private key string in PEM format.\n         * @returns { Promise<KeyPair> } return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        convertPemKey(pubKey: string | null, priKey: string | null): Promise<KeyPair>;\n        /**\n         * Used to convert asymmetric key in PEM format to keypair object.\n         *\n         * @param { string | null } pubKey - the public key string in PEM format.\n         * @param { string | null } priKey - the private key string in PEM format.\n         * @param { string } password - the password of private key.\n         * @returns { Promise<KeyPair> } return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        convertPemKey(pubKey: string | null, priKey: string | null, password: string): Promise<KeyPair>;\n        /**\n         * Used to convert asymmetric key in PEM format to keypair object.\n         *\n         * @param { string | null } pubKey - the public key string in PEM format.\n         * @param { string | null } priKey - the private key string in PEM format.\n         * @returns { KeyPair } return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        convertPemKeySync(pubKey: string | null, priKey: string | null): KeyPair;\n        /**\n         * Used to convert asymmetric key in PEM format to keypair object.\n         *\n         * @param { string | null } pubKey - the public key string in PEM format.\n         * @param { string | null } priKey - the private key string in PEM format.\n         * @param { string } password - the password of private key.\n         * @returns { KeyPair } return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        convertPemKeySync(pubKey: string | null, priKey: string | null, password: string): KeyPair;\n        /**\n         * The algName of the AsyKeyGenerator.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * The algName of the AsyKeyGenerator.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * The algName of the AsyKeyGenerator.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Provides the SymKeyGenerator type, which is used for generating symmetric key.\n     *\n     * @typedef SymKeyGenerator\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the SymKeyGenerator type, which is used for generating symmetric key.\n     *\n     * @typedef SymKeyGenerator\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the SymKeyGenerator type, which is used for generating symmetric key.\n     *\n     * @typedef SymKeyGenerator\n     * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface SymKeyGenerator {\n        /**\n         * Generate a symmetric key object randomly.\n         *\n         * @param { AsyncCallback<SymKey> } callback - the callback of generateSymKey.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Generate a symmetric key object randomly.\n         *\n         * @param { AsyncCallback<SymKey> } callback - the callback of generateSymKey.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generate a symmetric key object randomly.\n         *\n         * @param { AsyncCallback<SymKey> } callback - the callback of generateSymKey.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateSymKey(callback: AsyncCallback<SymKey>): void;\n        /**\n         * Generate a symmetric key object randomly.\n         *\n         * @returns { Promise<SymKey> } the promise returned by the function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Generate a symmetric key object randomly.\n         *\n         * @returns { Promise<SymKey> } the promise returned by the function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generate a symmetric key object randomly.\n         *\n         * @returns { Promise<SymKey> } the promise returned by the function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateSymKey(): Promise<SymKey>;\n        /**\n         * Generate a symmetric key object randomly.\n         *\n         * @returns { SymKey } return SymKey.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateSymKeySync(): SymKey;\n        /**\n         * Used to convert symmetric key data to a symmetric key object.\n         *\n         * @param { DataBlob } key - the key data blob.\n         * @param { AsyncCallback<SymKey> } callback - the callback of generateSymKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to convert symmetric key data to a symmetric key object.\n         *\n         * @param { DataBlob } key - the key data blob.\n         * @param { AsyncCallback<SymKey> } callback - the callback of generateSymKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to convert symmetric key data to a symmetric key object.\n         *\n         * @param { DataBlob } key - the key data blob.\n         * @param { AsyncCallback<SymKey> } callback - the callback of generateSymKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        convertKey(key: DataBlob, callback: AsyncCallback<SymKey>): void;\n        /**\n         * Used to convert symmetric key data to a symmetric key object.\n         *\n         * @param { DataBlob } key - the key data blob.\n         * @returns { Promise<SymKey> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to convert symmetric key data to a symmetric key object.\n         *\n         * @param { DataBlob } key - the key data blob.\n         * @returns { Promise<SymKey> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to convert symmetric key data to a symmetric key object.\n         *\n         * @param { DataBlob } key - the key data blob.\n         * @returns { Promise<SymKey> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        convertKey(key: DataBlob): Promise<SymKey>;\n        /**\n         * Used to convert symmetric key data to a symmetric key object.\n         *\n         * @param { DataBlob } key - the key data blob.\n         * @returns { SymKey } return SymKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        convertKeySync(key: DataBlob): SymKey;\n        /**\n         * Indicates the algorithm name of the SymKeyGenerator object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the algorithm name of the SymKeyGenerator object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the SymKeyGenerator object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Create the asymmetric key generator instance according to the given algorithm name.\n     *\n     * @param { string } algName - indicates the algorithm name. Multiple parameters need to be concatenated by \"|\".\n     * @returns { AsyKeyGenerator } the asymmetric key generator instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Create the asymmetric key generator instance according to the given algorithm name.\n     *\n     * @param { string } algName - indicates the algorithm name.\n     * @returns { AsyKeyGenerator } the asymmetric key generator instance. Multiple parameters need to be concatenated by \"|\".\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Create the asymmetric key generator instance according to the given algorithm name.\n     *\n     * @param { string } algName - indicates the algorithm name. Multiple parameters need to be concatenated by \"|\".\n     * @returns { AsyKeyGenerator } the asymmetric key generator instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createAsyKeyGenerator(algName: string): AsyKeyGenerator;\n    /**\n     * Create a symmetric key generator according to the given algorithm name.\n     *\n     * @param { string } algName - indicates the algorithm name.\n     * @returns { SymKeyGenerator } the symmetric key generator instance. Multiple parameters need to be concatenated by \"|\".\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Create a symmetric key generator according to the given algorithm name.\n     *\n     * @param { string } algName - indicates the algorithm name. Multiple parameters need to be concatenated by \"|\".\n     * @returns { SymKeyGenerator } the symmetric key generator instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Create a symmetric key generator according to the given algorithm name.\n     *\n     * @param { string } algName - indicates the algorithm name. Multiple parameters need to be concatenated by \"|\".\n     * @returns { SymKeyGenerator } the symmetric key generator instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @syscap SystemCapability.Security.CryptoFramework.Key.SymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createSymKeyGenerator(algName: string): SymKeyGenerator;\n    /**\n     * Represents the message authentication code (MAC) parameters.\n     * You need to construct a child class object and use it as a parameter when generating a HMAC or CMAC.\n     *\n     * @typedef MacSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Mac\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    interface MacSpec {\n        /**\n         * Indicates the algorithm name of the Mac.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        algName: string;\n    }\n    /**\n     * Represents the child class of MacSpec. It is used as an input parameter for HMAC generation.\n     *\n     * @extends MacSpec\n     * @typedef HmacSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Mac\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    interface HmacSpec extends MacSpec {\n        /**\n         * Indicates the message digest algorithm name of the HMAC.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        mdName: string;\n    }\n    /**\n     * Represents the child class of MacSpec. It is used as an input parameter for CMAC generation.\n     *\n     * @extends MacSpec\n     * @typedef CmacSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Mac\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    interface CmacSpec extends MacSpec {\n        /**\n         * Indicates the cipher algorithm name of the CMAC.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        cipherName: string;\n    }\n    /**\n     * Provides the Mac type, which is used for Mac generation.\n     *\n     * @typedef Mac\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the Mac type, which is used for Mac generation.\n     *\n     * @typedef Mac\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the Mac type, which is used for Mac generation.\n     * Before using any API of the Mac class, you must create a Mac instance by using createMac.\n     *\n     * @typedef Mac\n     * @syscap SystemCapability.Security.CryptoFramework.Mac\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface Mac {\n        /**\n         * Init mac with given SymKey.\n         *\n         * @param { SymKey } key - indicates the SymKey.\n         * @param { AsyncCallback<void> } callback - the callback of the init function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Init mac with given SymKey.\n         *\n         * @param { SymKey } key - indicates the SymKey.\n         * @param { AsyncCallback<void> } callback - the callback of the init function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Init mac with given SymKey.\n         * This API uses an asynchronous callback to return the result. init, update, and doFinal must be used together.\n         * init and doFinal are mandatory, and update is optional.\n         *\n         * @param { SymKey } key - indicates the SymKey.\n         * @param { AsyncCallback<void> } callback - the callback of the init function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        init(key: SymKey, callback: AsyncCallback<void>): void;\n        /**\n         * Init mac with given SymKey.\n         *\n         * @param { SymKey } key - indicates the SymKey.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Init mac with given SymKey.\n         *\n         * @param { SymKey } key - indicates the SymKey.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Init mac with given SymKey.\n         * This API uses an asynchronous callback to return the result. init, update, and doFinal must be used together.\n         * init and doFinal are mandatory, and update is optional.\n         *\n         * @param { SymKey } key - indicates the SymKey.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        init(key: SymKey): Promise<void>;\n        /**\n         * Init mac with given SymKey.\n         * This API uses an asynchronous callback to return the result. init, update, and doFinal must be used together.\n         * init and doFinal are mandatory, and update is optional.\n         *\n         * @param { SymKey } key - indicates the SymKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        initSync(key: SymKey): void;\n        /**\n         * Update mac with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @param { AsyncCallback<void> } callback - the callback of the update function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Update mac with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @param { AsyncCallback<void> } callback - the callback of the update function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Update mac with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @param { AsyncCallback<void> } callback - the callback of the update function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        update(input: DataBlob, callback: AsyncCallback<void>): void;\n        /**\n         * Update mac with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Update mac with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Update mac with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        update(input: DataBlob): Promise<void>;\n        /**\n         * Update mac with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        updateSync(input: DataBlob): void;\n        /**\n         * Output the result of mac calculation.\n         *\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the doFinal function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Output the result of mac calculation.\n         *\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the doFinal function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Output the result of mac calculation.\n         *\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the doFinal function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        doFinal(callback: AsyncCallback<DataBlob>): void;\n        /**\n         * Output the result of mac calculation.\n         *\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Output the result of mac calculation.\n         *\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Output the result of mac calculation.\n         *\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        doFinal(): Promise<DataBlob>;\n        /**\n         * Output the result of mac calculation.\n         *\n         * @returns { DataBlob } the sync returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        doFinalSync(): DataBlob;\n        /**\n         * Output the length of mac result.\n         *\n         * @returns { number } returns the length of the mac result.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Output the length of mac result.\n         *\n         * @returns { number } returns the length of the mac result.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Output the length of mac result.\n         *\n         * @returns { number } returns the length of the mac result.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getMacLength(): number;\n        /**\n         * Indicates the algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Mac\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Provides the mac create func.\n     *\n     * @param { string } algName - indicates the mac algorithm name.\n     * @returns { Mac } returns the created mac instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the mac create func.\n     *\n     * @param { string } algName - indicates the mac algorithm name.\n     * @returns { Mac } returns the created mac instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Creates a Mac instance for MAC operations.\n     *\n     * @param { string } algName - indicates the mac algorithm name.\n     * @returns { Mac } returns the created mac instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework.Mac\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createMac(algName: string): Mac;\n    /**\n     * Creates a Mac instance for MAC operations.\n     *\n     * @param { MacSpec } macSpec - indicates the mac parameters.\n     * @returns { Mac } returns the created mac instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n     * @throws { BusinessError } 17630001 - crypto operation error.\n     * @syscap SystemCapability.Security.CryptoFramework.Mac\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    function createMac(macSpec: MacSpec): Mac;\n    /**\n     * Provides the Md type, which is used for Md generation.\n     *\n     * @typedef Md\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the Md type, which is used for Md generation.\n     *\n     * @typedef Md\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the Md type, which is used for Md generation.\n     * Before using any API of the Md class, you must create an Md instance by using createMd.\n     *\n     * @typedef Md\n     * @syscap SystemCapability.Security.CryptoFramework.MessageDigest\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface Md {\n        /**\n         * Update md with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @param { AsyncCallback<void> } callback - the callback of the update function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Update md with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @param { AsyncCallback<void> } callback - the callback of the update function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Update md with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @param { AsyncCallback<void> } callback - the callback of the update function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.MessageDigest\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        update(input: DataBlob, callback: AsyncCallback<void>): void;\n        /**\n         * Update md with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Update md with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Update md with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.MessageDigest\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        update(input: DataBlob): Promise<void>;\n        /**\n         * Update md with DataBlob.\n         *\n         * @param { DataBlob } input - indicates the DataBlob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.MessageDigest\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        updateSync(input: DataBlob): void;\n        /**\n         * Output the result of md calculation.\n         *\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the digest function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Output the result of md calculation.\n         *\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the digest function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Output the result of md calculation.\n         *\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the digest function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.MessageDigest\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        digest(callback: AsyncCallback<DataBlob>): void;\n        /**\n         * Output the result of md calculation.\n         *\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Output the result of md calculation.\n         *\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Output the result of md calculation.\n         *\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.MessageDigest\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        digest(): Promise<DataBlob>;\n        /**\n         * Output the result of md calculation.\n         *\n         * @returns { DataBlob } the sync returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.MessageDigest\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        digestSync(): DataBlob;\n        /**\n         * Output the length of md result.\n         *\n         * @returns { number } returns the length of the md result.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Output the length of md result.\n         *\n         * @returns { number } returns the length of the md result.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Output the length of md result.\n         *\n         * @returns { number } returns the length of the md result.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.MessageDigest\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getMdLength(): number;\n        /**\n         * Indicates the algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.MessageDigest\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Provides the md create func.\n     *\n     * @param { string } algName - indicates the md algorithm name.\n     * @returns { Md } returns the created md instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the md create func.\n     *\n     * @param { string } algName - indicates the md algorithm name.\n     * @returns { Md } returns the created md instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Creates an Md instance for MD operations.\n     *\n     * @param { string } algName - indicates the md algorithm name.\n     * @returns { Md } returns the created md instance.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework.MessageDigest\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createMd(algName: string): Md;\n    /**\n     * Enum for encryption specified parameters.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Enum for encryption specified parameters.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Enum for encryption specified parameters.\n     * You can use setCipherSpec to set cipher parameters, and use getCipherSpec to obtain cipher parameters.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework.Cipher\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum CipherSpecItem {\n        /**\n         * Indicates the algorithm name of the message digest function. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the algorithm name of the message digest function. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the message digest function. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        OAEP_MD_NAME_STR = 100,\n        /**\n         * Indicates the algorithm name for the mask generation function. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the algorithm name for the mask generation function. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name for the mask generation function. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        OAEP_MGF_NAME_STR = 101,\n        /**\n         * Indicates the message digest parameter for the MGF1 mask generation function. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the message digest parameter for the MGF1 mask generation function. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the message digest parameter for the MGF1 mask generation function. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        OAEP_MGF1_MD_STR = 102,\n        /**\n         * Indicates the source of the encoding input P. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the source of the encoding input P. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the source of the encoding input P. It is used during RSA encryption.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        OAEP_MGF1_PSRC_UINT8ARR = 103,\n        /**\n         * Indicates the hash algorithm name of SM2 cipher process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the hash algorithm name of SM2 cipher process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        SM2_MD_NAME_STR = 104\n    }\n    /**\n     * Enum for signature specified parameters, also used for verification.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Enum for signature specified parameters, also used for verification.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Enum for signature specified parameters, also used for verification.\n     * You can use setSignSpec and setVerifySpec to set these parameters, and use getSignSpec and getVerifySpec to obtain the parameters.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework.Signature\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum SignSpecItem {\n        /**\n         * Indicates the algorithm name of the message digest function. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the algorithm name of the message digest function. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the message digest function. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        PSS_MD_NAME_STR = 100,\n        /**\n         * Indicates the algorithm name of the mask generation function. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the algorithm name of the mask generation function. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the mask generation function. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        PSS_MGF_NAME_STR = 101,\n        /**\n         * Indicates the message digest parameter for the MGF1 mask generation function.\n         * It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the message digest parameter for the MGF1 mask generation function.\n         * It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the message digest parameter for the MGF1 mask generation function.\n         * It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        PSS_MGF1_MD_STR = 102,\n        /**\n         * Indicates the salt length in bits. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the salt length in bits. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the salt length in bits. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        PSS_SALT_LEN_NUM = 103,\n        /**\n         * Indicates the value for the trailer field. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the value for the trailer field. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the value for the trailer field. It is used in RSA signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        PSS_TRAILER_FIELD_NUM = 104,\n        /**\n         * Indicates the value for user id. It is used in SM2 signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the value for user id. It is used in SM2 signing and verifying process.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        SM2_USER_ID_UINT8ARR = 105\n    }\n    /**\n     * Provides the Cipher type, which is used for encryption and decryption operations.\n     *\n     * @typedef Cipher\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the Cipher type, which is used for encryption and decryption operations.\n     *\n     * @typedef Cipher\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the Cipher type, which is used for encryption and decryption operations.\n     *\n     * @typedef Cipher\n     * @syscap SystemCapability.Security.CryptoFramework.Cipher\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface Cipher {\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec } params - indicates the algorithm parameters such as IV.\n         * @param { AsyncCallback<void> } callback - the callback of the init function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec } params - indicates the algorithm parameters such as IV.\n         * @param { AsyncCallback<void> } callback - the callback of the init function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         * init, update, and doFinal must be used together. init and doFinal are mandatory, and update is optional.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec } params - indicates the algorithm parameters such as IV.\n         * @param { AsyncCallback<void> } callback - the callback of the init function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        init(opMode: CryptoMode, key: Key, params: ParamsSpec, callback: AsyncCallback<void>): void;\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec | null } params - indicates the algorithm parameters such as IV.\n         * @param { AsyncCallback<void> } callback - the callback of the init function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec | null } params - indicates the algorithm parameters such as IV.\n         * @param { AsyncCallback<void> } callback - the callback of the init function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         * init, update, and doFinal must be used together. init and doFinal are mandatory, and update is optional.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec | null } params - indicates the algorithm parameters such as IV.\n         * @param { AsyncCallback<void> } callback - the callback of the init function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        init(opMode: CryptoMode, key: Key, params: ParamsSpec | null, callback: AsyncCallback<void>): void;\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec } params - indicates the algorithm parameters such as IV.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec } params - indicates the algorithm parameters such as IV.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         * init, update, and doFinal must be used together. init and doFinal are mandatory, and update is optional.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec } params - indicates the algorithm parameters such as IV.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        init(opMode: CryptoMode, key: Key, params: ParamsSpec): Promise<void>;\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec | null } params - indicates the algorithm parameters such as IV.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec | null } params - indicates the algorithm parameters such as IV.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         * init, update, and doFinal must be used together. init and doFinal are mandatory, and update is optional.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec | null } params - indicates the algorithm parameters such as IV.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        init(opMode: CryptoMode, key: Key, params: ParamsSpec | null): Promise<void>;\n        /**\n         * Init the crypto operation with the given crypto mode, key and parameters.\n         * init, update, and doFinal must be used together. init and doFinal are mandatory, and update is optional.\n         *\n         * @param { CryptoMode } opMode - indicates the crypto mode is encryption or decryption.\n         * @param { Key } key - indicates the symmetric key or the asymmetric key.\n         * @param { ParamsSpec | null } params - indicates the algorithm parameters such as IV.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        initSync(opMode: CryptoMode, key: Key, params: ParamsSpec | null): void;\n        /**\n         * Update the crypto operation with the input data, and feed back the encrypted or decrypted data\n         * this time. RSA is not supported in this function.\n         *\n         * @param { DataBlob } data - indicates the data to be encrypted or decrypted.\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the update function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Update the crypto operation with the input data, and feed back the encrypted or decrypted data\n         * this time. RSA is not supported in this function.\n         *\n         * @param { DataBlob } data - indicates the data to be encrypted or decrypted.\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the update function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Update the crypto operation with the input data, and feed back the encrypted or decrypted data\n         * this time. RSA is not supported in this function.\n         *\n         * @param { DataBlob } data - indicates the data to be encrypted or decrypted.\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the update function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        update(data: DataBlob, callback: AsyncCallback<DataBlob>): void;\n        /**\n         * Update the crypto operation with the input data, and feed back the encrypted or decrypted data\n         * this time. RSA is not supported in this function.\n         *\n         * @param { DataBlob } data - indicates the data to be encrypted or decrypted.\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Update the crypto operation with the input data, and feed back the encrypted or decrypted data\n         * this time. RSA is not supported in this function.\n         *\n         * @param { DataBlob } data - indicates the data to be encrypted or decrypted.\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Update the crypto operation with the input data, and feed back the encrypted or decrypted data\n         * this time. RSA is not supported in this function.\n         *\n         * @param { DataBlob } data - indicates the data to be encrypted or decrypted.\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        update(data: DataBlob): Promise<DataBlob>;\n        /**\n         * Update the crypto operation with the input data, and feed back the encrypted or decrypted data\n         * this time. RSA is not supported in this function.\n         *\n         * @param { DataBlob } data - indicates the data to be encrypted or decrypted.\n         * @returns { DataBlob } cipherText when encrypted or plainText when decrypted.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        updateSync(data: DataBlob): DataBlob;\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob } data - indicates the data to be finally encrypted or decrypted.\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the doFinal function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob } data - indicates the data to be finally encrypted or decrypted.\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the doFinal function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob } data - indicates the data to be finally encrypted or decrypted.\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the doFinal function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        doFinal(data: DataBlob, callback: AsyncCallback<DataBlob>): void;\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob | null } data - indicates the data to be finally encrypted or decrypted.\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the doFinal function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob | null } data - indicates the data to be finally encrypted or decrypted.\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the doFinal function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob | null } data - indicates the data to be finally encrypted or decrypted.\n         * @param { AsyncCallback<DataBlob> } callback - the callback of the doFinal function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        doFinal(data: DataBlob | null, callback: AsyncCallback<DataBlob>): void;\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob } data - indicates the data to be finally encrypted or decrypted.\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob } data - indicates the data to be finally encrypted or decrypted.\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob } data - indicates the data to be finally encrypted or decrypted.\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        doFinal(data: DataBlob): Promise<DataBlob>;\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob | null } data - indicates the data to be finally encrypted or decrypted.\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob | null } data - indicates the data to be finally encrypted or decrypted.\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob | null } data - indicates the data to be finally encrypted or decrypted.\n         * @returns { Promise<DataBlob> } the promise returned by the function.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        doFinal(data: DataBlob | null): Promise<DataBlob>;\n        /**\n         * Finish the crypto operation, encrypt or decrypt the input data, and then feed back the output data.\n         * Data cannot be updated after the crypto operation is finished.\n         *\n         * @param { DataBlob | null } data - indicates the data to be finally encrypted or decrypted.\n         * @returns { DataBlob } cipherText when encrypted or plainText when decrypted.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        doFinalSync(data: DataBlob | null): DataBlob;\n        /**\n         * Set the specified parameter to the cipher object.\n         * Currently, only the OAEP_MGF1_PSRC_UINT8ARR parameter in RSA is supported.\n         *\n         * @param { CipherSpecItem } itemType - indicates the specified parameter type.\n         * @param { Uint8Array } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Set the specified parameter to the cipher object.\n         * Currently, only the OAEP_MGF1_PSRC_UINT8ARR parameter in RSA is supported.\n         *\n         * @param { CipherSpecItem } itemType - indicates the specified parameter type.\n         * @param { Uint8Array } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Set the specified parameter to the cipher object.\n         * Currently, only the OAEP_MGF1_PSRC_UINT8ARR parameter in RSA is supported.\n         *\n         * @param { CipherSpecItem } itemType - indicates the specified parameter type.\n         * @param { Uint8Array } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        setCipherSpec(itemType: CipherSpecItem, itemValue: Uint8Array): void;\n        /**\n         * Get the specified parameter from the cipher object.\n         * Currently, only OAEP parameters in RSA is supported.\n         *\n         * @param { CipherSpecItem } itemType - indicates the specified parameter type.\n         * @returns { string | Uint8Array } the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Get the specified parameter from the cipher object.\n         * Currently, only OAEP parameters in RSA is supported.\n         *\n         * @param { CipherSpecItem } itemType - indicates the specified parameter type.\n         * @returns { string | Uint8Array } the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Get the specified parameter from the cipher object.\n         * Currently, only OAEP parameters in RSA is supported.\n         *\n         * @param { CipherSpecItem } itemType - indicates the specified parameter type.\n         * @returns { string | Uint8Array } the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getCipherSpec(itemType: CipherSpecItem): string | Uint8Array;\n        /**\n         * Indicates the algorithm name of the cipher object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the algorithm name of the cipher object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the cipher object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Create a cipher object for encryption and decryption operations according to the given specifications.\n     * Two different Cipher objects should be created when using RSA encryption and decryption,\n     * even with the same specifications.\n     *\n     * @param { string } transformation - indicates the description to be transformed to cipher specifications.\n     * @returns { Cipher } the cipher object returned by the function.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Create a cipher object for encryption and decryption operations according to the given specifications.\n     * Two different Cipher objects should be created when using RSA encryption and decryption,\n     * even with the same specifications.\n     *\n     * @param { string } transformation - indicates the description to be transformed to cipher specifications.\n     * @returns { Cipher } the cipher object returned by the function.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Create a cipher object for encryption and decryption operations according to the given specifications.\n     * Two different Cipher objects should be created when using RSA encryption and decryption,\n     * even with the same specifications.\n     *\n     * @param { string } transformation - indicates the description to be transformed to cipher specifications.\n     *                                    Multiple parameters need to be concatenated by \"|\".\n     * @returns { Cipher } the cipher object returned by the function.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework.Cipher\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createCipher(transformation: string): Cipher;\n    /**\n     * Provides the Sign type, which is used for generating signatures.\n     *\n     * @typedef Sign\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the Sign type, which is used for generating signatures.\n     *\n     * @typedef Sign\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the Sign type, which is used for generating signatures.\n     * Before using any API of the Sign class, you must create a Sign instance by using createSign。\n     *\n     * @typedef Sign\n     * @syscap SystemCapability.Security.CryptoFramework.Signature\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface Sign {\n        /**\n         * Used to init environment.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @param { AsyncCallback<void> } callback - the call back function return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to init environment.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @param { AsyncCallback<void> } callback - the call back function return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Initializes the Sign instance with a private key.\n         * init, update, and sign must be used together. init and sign are mandatory, and update is optional.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @param { AsyncCallback<void> } callback - the call back function return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        init(priKey: PriKey, callback: AsyncCallback<void>): void;\n        /**\n         * Used to init environment.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to init environment.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Initializes the Sign instance with a private key.\n         * init, update, and sign must be used together. init and sign are mandatory, and update is optional.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        init(priKey: PriKey): Promise<void>;\n        /**\n         * Initializes the Sign instance with a private key.\n         * init, update, and sign must be used together. init and sign are mandatory, and update is optional.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        initSync(priKey: PriKey): void;\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob } data - the data need to be signed.\n         * @param { AsyncCallback<void> } callback - the call back function return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob } data - the data need to be signed.\n         * @param { AsyncCallback<void> } callback - the call back function return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to append the message need to be signed.\n         * This API can be called only after the Sign instance is initialized by using init.\n         *\n         * @param { DataBlob } data - the data need to be signed.\n         * @param { AsyncCallback<void> } callback - the call back function return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        update(data: DataBlob, callback: AsyncCallback<void>): void;\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob } data - the data need to be signed.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob } data - the data need to be signed.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to append the message need to be signed.\n         * This API can be called only after the Sign instance is initialized by using init.\n         *\n         * @param { DataBlob } data - the data need to be signed.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        update(data: DataBlob): Promise<void>;\n        /**\n         * Used to append the message need to be signed.\n         * This API can be called only after the Sign instance is initialized by using init.\n         *\n         * @param { DataBlob } data - the data need to be signed.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        updateSync(data: DataBlob): void;\n        /**\n         * Used to sign message, include the update data.\n         *\n         * @param { DataBlob } data - the data need to be signed.\n         * @param { AsyncCallback<DataBlob> } callback - return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to sign message, include the update data.\n         *\n         * @param { DataBlob } data - the data need to be signed.\n         * @param { AsyncCallback<DataBlob> } callback - return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to sign message, include the update data.\n         *\n         * @param { DataBlob } data - the data need to be signed.\n         * @param { AsyncCallback<DataBlob> } callback - return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sign(data: DataBlob, callback: AsyncCallback<DataBlob>): void;\n        /**\n         * Used to sign message, include the update data.\n         *\n         * @param { DataBlob | null } data - the data need to be signed.\n         * @param { AsyncCallback<DataBlob> } callback - return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Used to sign message, include the update data.\n         *\n         * @param { DataBlob | null } data - the data need to be signed.\n         * @param { AsyncCallback<DataBlob> } callback - return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to sign message, include the update data.\n         *\n         * @param { DataBlob | null } data - the data need to be signed.\n         * @param { AsyncCallback<DataBlob> } callback - return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sign(data: DataBlob | null, callback: AsyncCallback<DataBlob>): void;\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob } data - the private key.\n         * @returns { Promise<DataBlob> } return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob } data - the private key.\n         * @returns { Promise<DataBlob> } return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob } data - the private key.\n         * @returns { Promise<DataBlob> } return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sign(data: DataBlob): Promise<DataBlob>;\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob | null } data - the private key.\n         * @returns { Promise<DataBlob> } return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob | null } data - the private key.\n         * @returns { Promise<DataBlob> } return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob | null } data - the private key.\n         * @returns { Promise<DataBlob> } return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sign(data: DataBlob | null): Promise<DataBlob>;\n        /**\n         * Used to append the message need to be signed.\n         *\n         * @param { DataBlob | null } data - the private key.\n         * @returns { DataBlob } return the signed message.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        signSync(data: DataBlob | null): DataBlob;\n        /**\n         * Set the specified parameter to the sign object.\n         * Currently, only the PSS_SALT_LEN parameter in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @param { number } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Set the specified parameter to the sign object.\n         * Currently, only the PSS_SALT_LEN parameter in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @param { number } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Set the specified parameter to the sign object.\n         * Currently, only the PSS_SALT_LEN parameter in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @param { number } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        setSignSpec(itemType: SignSpecItem, itemValue: number): void;\n        /**\n         * Set the specified parameter to the sign object.\n         * Currently, only PSS_SALT_LEN in RSA and USER_ID in SM2 are supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @param { number | Uint8Array } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Set the specified parameter to the sign object.\n         * Currently, only PSS_SALT_LEN in RSA and USER_ID in SM2 are supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @param { number | Uint8Array } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        setSignSpec(itemType: SignSpecItem, itemValue: number | Uint8Array): void;\n        /**\n         * Get the specified parameter from the sign object.\n         * Currently, only PSS parameters in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @returns { string | number } the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Get the specified parameter from the sign object.\n         * Currently, only PSS parameters in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @returns { string | number } the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Get the specified parameter from the sign object.\n         * Currently, only PSS parameters in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @returns { string | number } the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getSignSpec(itemType: SignSpecItem): string | number;\n        /**\n         * Indicates the algorithm name of the sign object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the algorithm name of the sign object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the sign object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Provides the Verify interface, which is used for verifying signatures.\n     *\n     * @typedef Verify\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides the Verify interface, which is used for verifying signatures.\n     *\n     * @typedef Verify\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides the Verify interface, which is used for verifying signatures.\n     * Before using any API of the Verify class, you must create a Verify instance by using createVerify.\n     * Invoke init, update, and sign in this class in sequence to complete the signature verification.\n     *\n     * @typedef Verify\n     * @syscap SystemCapability.Security.CryptoFramework.Signature\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface Verify {\n        /**\n         * Used to init environment.\n         *\n         * @param { PubKey } pubKey - the public key.\n         * @param { AsyncCallback<void> } callback - return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to init environment.\n         *\n         * @param { PubKey } pubKey - the public key.\n         * @param { AsyncCallback<void> } callback - return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Initializes the Verify instance with a public key.\n         *\n         * @param { PubKey } pubKey - the public key.\n         * @param { AsyncCallback<void> } callback - return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        init(pubKey: PubKey, callback: AsyncCallback<void>): void;\n        /**\n         * Used to init environment.\n         *\n         * @param { PubKey } pubKey - the public key.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to init environment.\n         *\n         * @param { PubKey } pubKey - the public key.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Initializes the Verify instance with a public key.\n         *\n         * @param { PubKey } pubKey - the public key.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        init(pubKey: PubKey): Promise<void>;\n        /**\n         * Initializes the Verify instance with a public key.\n         *\n         * @param { PubKey } pubKey - the public key.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        initSync(pubKey: PubKey): void;\n        /**\n         * Used to append the message need to be verified.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @param { AsyncCallback<void> } callback - return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to append the message need to be verified.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @param { AsyncCallback<void> } callback - return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to append the message need to be verified.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @param { AsyncCallback<void> } callback - return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        update(data: DataBlob, callback: AsyncCallback<void>): void;\n        /**\n         * Used to append the message need to be verified.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to append the message need to be verified.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to append the message need to be verified.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @returns { Promise<void> } return nothing.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        update(data: DataBlob): Promise<void>;\n        /**\n         * Used to append the message need to be verified.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        updateSync(data: DataBlob): void;\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @param { AsyncCallback<boolean> } callback - return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @param { AsyncCallback<boolean> } callback - return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @param { AsyncCallback<boolean> } callback - return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        verify(data: DataBlob, signatureData: DataBlob, callback: AsyncCallback<boolean>): void;\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob | null } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @param { AsyncCallback<boolean> } callback - return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob | null } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @param { AsyncCallback<boolean> } callback - return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob | null } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @param { AsyncCallback<boolean> } callback - return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        verify(data: DataBlob | null, signatureData: DataBlob, callback: AsyncCallback<boolean>): void;\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @returns { Promise<boolean> } return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @returns { Promise<boolean> } return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @returns { Promise<boolean> } return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        verify(data: DataBlob, signatureData: DataBlob): Promise<boolean>;\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob | null } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @returns { Promise<boolean> } return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob | null } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @returns { Promise<boolean> } return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob | null } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @returns { Promise<boolean> } return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        verify(data: DataBlob | null, signatureData: DataBlob): Promise<boolean>;\n        /**\n         * Used to verify message, include the update data.\n         *\n         * @param { DataBlob | null } data - the data need to be verified.\n         * @param { DataBlob } signatureData - the signature data.\n         * @returns { boolean } return the verify result.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        verifySync(data: DataBlob | null, signatureData: DataBlob): boolean;\n        /**\n         * Used to recover signed data.\n         * Currently, only RSA is supported.\n         *\n         * @param { DataBlob } signatureData - the signature data.\n         * @returns { Promise<DataBlob | null> } the promise used to return the recovered data.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        recover(signatureData: DataBlob): Promise<DataBlob | null>;\n        /**\n         * Used to recover signed data.\n         * Currently, only RSA is supported.\n         *\n         * @param { DataBlob } signatureData - the signature data.\n         * @returns { DataBlob | null } return the recovered data.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        recoverSync(signatureData: DataBlob): DataBlob | null;\n        /**\n         * Set the specified parameter to the verify object.\n         * Currently, only the PSS_SALT_LEN parameter in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @param { number } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Set the specified parameter to the verify object.\n         * Currently, only the PSS_SALT_LEN parameter in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @param { number } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Set the specified parameter to the verify object.\n         * Currently, only the PSS_SALT_LEN parameter in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @param { number } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        setVerifySpec(itemType: SignSpecItem, itemValue: number): void;\n        /**\n         * Set the specified parameter to the verify object.\n         * Currently, only PSS_SALT_LEN in RSA and USER_ID in SM2 are supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @param { number | Uint8Array } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Set the specified parameter to the verify object.\n         * Currently, only PSS_SALT_LEN in RSA and USER_ID in SM2 are supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @param { number | Uint8Array } itemValue - the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        setVerifySpec(itemType: SignSpecItem, itemValue: number | Uint8Array): void;\n        /**\n         * Get the specified parameter from the verify object.\n         * Currently, only PSS parameters in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @returns { string | number } the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Get the specified parameter from the verify object.\n         * Currently, only PSS parameters in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @returns { string | number } the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Get the specified parameter from the verify object.\n         * Currently, only PSS parameters in RSA is supported.\n         *\n         * @param { SignSpecItem } itemType - indicates the specified parameter type.\n         * @returns { string | number } the value of the specified parameter.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        getVerifySpec(itemType: SignSpecItem): string | number;\n        /**\n         * Indicates the algorithm name of the verify object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the algorithm name of the verify object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the verify object.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Create a sign object for generating signatures.\n     *\n     * @param { string } algName - indicates the algorithm name and params.\n     * @returns { Sign } the sign class.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Create a sign object for generating signatures.\n     *\n     * @param { string } algName - indicates the algorithm name and params.\n     * @returns { Sign } the sign class.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Create a sign object for generating signatures.\n     *\n     * @param { string } algName - indicates the algorithm name and params. Multiple parameters need to be concatenated by \"|\".\n     * @returns { Sign } the sign class.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework.Signature\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createSign(algName: string): Sign;\n    /**\n     * Create a verify object for verifying signatures.\n     *\n     * @param { string } algName - indicates the algorithm name and the parameters.\n     * @returns { Verify } the verify class.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Create a verify object for verifying signatures.\n     *\n     * @param { string } algName - indicates the algorithm name and the parameters.\n     * @returns { Verify } the verify class.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Create a verify object for verifying signatures.\n     *\n     * @param { string } algName - indicates the algorithm name and the parameters. Multiple parameters need to be concatenated by \"|\".\n     * @returns { Verify } the verify class.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework.Signature\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createVerify(algName: string): Verify;\n    /**\n     * Provides key agreement function.\n     *\n     * @typedef KeyAgreement\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Provides key agreement function.\n     *\n     * @typedef KeyAgreement\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides key agreement function.\n     * Before using any API of the KeyAgreement class, you must create a KeyAgreement instance by using createKeyAgreement.\n     *\n     * @typedef KeyAgreement\n     * @syscap SystemCapability.Security.CryptoFramework.KeyAgreement\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface KeyAgreement {\n        /**\n         * Used to generate secret.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @param { PubKey } pubKey - the public key.\n         * @param { AsyncCallback<DataBlob> } callback - return the secret.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to generate secret.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @param { PubKey } pubKey - the public key.\n         * @param { AsyncCallback<DataBlob> } callback - return the secret.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generates a shared secret based on the given private key and public key.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @param { PubKey } pubKey - the public key.\n         * @param { AsyncCallback<DataBlob> } callback - return the secret.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.KeyAgreement\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateSecret(priKey: PriKey, pubKey: PubKey, callback: AsyncCallback<DataBlob>): void;\n        /**\n         * Used to generate secret.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @param { PubKey } pubKey - the public key.\n         * @returns { Promise<DataBlob> } the promise used to return secret.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Used to generate secret.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @param { PubKey } pubKey - the public key.\n         * @returns { Promise<DataBlob> } the promise used to return secret.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generates a shared secret based on the given private key and public key.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @param { PubKey } pubKey - the public key.\n         * @returns { Promise<DataBlob> } the promise used to return secret.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.KeyAgreement\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateSecret(priKey: PriKey, pubKey: PubKey): Promise<DataBlob>;\n        /**\n         * Generates a shared secret based on the given private key and public key.\n         *\n         * @param { PriKey } priKey - the private key.\n         * @param { PubKey } pubKey - the public key.\n         * @returns { DataBlob } the promise used to return secret.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.KeyAgreement\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateSecretSync(priKey: PriKey, pubKey: PubKey): DataBlob;\n        /**\n         * Indicates the algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 9\n         */\n        /**\n         * Indicates the algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.KeyAgreement\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Create a key agreement object.\n     *\n     * @param { string } algName - indicates the algorithm name and params.\n     * @returns { KeyAgreement } the key agreement object.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 9\n     */\n    /**\n     * Create a key agreement object.\n     *\n     * @param { string } algName - indicates the algorithm name and params.\n     * @returns { KeyAgreement } the key agreement object.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Create a key agreement object.\n     *\n     * @param { string } algName - indicates the algorithm name and params. Multiple parameters need to be concatenated by \"|\".\n     * @returns { KeyAgreement } the key agreement object.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework.KeyAgreement\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createKeyAgreement(algName: string): KeyAgreement;\n    /**\n     * Enum for algorithm specified parameters.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Enum for algorithm specified parameters.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Enum for algorithm specified parameters.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum AsyKeySpecItem {\n        /**\n         * Indicates the DSA prime p.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA prime p.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA prime p.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DSA_P_BN = 101,\n        /**\n         * Indicates the DSA sub-prime q.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA sub-prime q.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA sub-prime q.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DSA_Q_BN = 102,\n        /**\n         * Indicates the DSA base g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA base g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA base g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DSA_G_BN = 103,\n        /**\n         * Indicates the DSA private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DSA_SK_BN = 104,\n        /**\n         * Indicates the DSA public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DSA_PK_BN = 105,\n        /**\n         * Indicates the prime p of an elliptic curve (EC) prime finite field.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the prime p of an elliptic curve (EC) prime finite field.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the prime p of an elliptic curve (EC) prime finite field.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_FP_P_BN = 201,\n        /**\n         * Indicates the first coefficient a of this elliptic curve.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the first coefficient a of this elliptic curve.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the first coefficient a of this elliptic curve.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_A_BN = 202,\n        /**\n         * Indicates the second coefficient b of this elliptic curve.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the second coefficient b of this elliptic curve.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the second coefficient b of this elliptic curve.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_B_BN = 203,\n        /**\n         * Indicates the affine x-coordinate of base point g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the affine x-coordinate of base point g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the affine x-coordinate of base point g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_G_X_BN = 204,\n        /**\n         * Indicates the affine y-coordinate of base point g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the affine y-coordinate of base point g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the affine y-coordinate of base point g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_G_Y_BN = 205,\n        /**\n         * Indicates the order of the base point g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the order of the base point g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the order of the base point g.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_N_BN = 206,\n        /**\n         * Indicates the cofactor of the elliptic curve.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the cofactor of the elliptic curve.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the cofactor of the elliptic curve.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_H_NUM = 207,\n        /**\n         * Indicates the private value of the ECC private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the private value of the ECC private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the ECC private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_SK_BN = 208,\n        /**\n         * Indicates the affine x-coordinate of a point, which is the public point of an ECC public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the affine x-coordinate of a point, which is the public point of an ECC public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the affine x-coordinate of a point, which is the public point of an ECC public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_PK_X_BN = 209,\n        /**\n         * Indicates the affine y-coordinate of a point, which is the public point of an ECC public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the affine y-coordinate of a point, which is the public point of an ECC public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the affine y-coordinate of a point, which is the public point of an ECC public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_PK_Y_BN = 210,\n        /**\n         * Indicates an elliptic curve finite field type.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates an elliptic curve finite field type.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates an elliptic curve finite field type.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_FIELD_TYPE_STR = 211,\n        /**\n         * Indicates the field size in bits.\n         * For Fp field (an elliptic curve prime finite field with prime p), the field size is the size of prime p.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the field size in bits.\n         * For Fp field (an elliptic curve prime finite field with prime p), the field size is the size of prime p.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the field size in bits.\n         * For Fp field (an elliptic curve prime finite field with prime p), the field size is the size of prime p.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_FIELD_SIZE_NUM = 212,\n        /**\n         * Indicates the curve name according to SECG (Standards for Efficient Cryptography Group).\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the curve name according to SECG (Standards for Efficient Cryptography Group).\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the curve name according to SECG (Standards for Efficient Cryptography Group).\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ECC_CURVE_NAME_STR = 213,\n        /**\n         * Indicates the modulus n of RSA algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the modulus n of RSA algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the modulus n of RSA algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        RSA_N_BN = 301,\n        /**\n         * Indicates the private exponent d of RSA algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the private exponent d of RSA algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private exponent d of RSA algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        RSA_SK_BN = 302,\n        /**\n         * Indicates the public exponent e of RSA algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the public exponent e of RSA algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public exponent e of RSA algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        RSA_PK_BN = 303,\n        /**\n         * Indicates the prime p of DH algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the prime p of DH algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DH_P_BN = 401,\n        /**\n         * Indicates the generator g of DH algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the generator g of DH algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DH_G_BN = 402,\n        /**\n         * Indicates the number of bits of the private key length used in the DH algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the number of bits of the private key length used in the DH algorithm.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DH_L_NUM = 403,\n        /**\n         * Indicates the private value of the DH private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the DH private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DH_SK_BN = 404,\n        /**\n         * Indicates the public value of the DH public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public value of the DH public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DH_PK_BN = 405,\n        /**\n         * Indicates the private value of the ED25519 private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the ED25519 private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ED25519_SK_BN = 501,\n        /**\n         * Indicates the public value of the ED25519 public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public value of the ED25519 public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ED25519_PK_BN = 502,\n        /**\n         * Indicates the private value of the X25519 private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the X25519 private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        X25519_SK_BN = 601,\n        /**\n         * Indicates the public value of the X25519 public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public value of the X25519 public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        X25519_PK_BN = 602\n    }\n    /**\n     * Enum for algorithm specified parameters type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Enum for algorithm specified parameters type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Enum for algorithm specified parameters type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum AsyKeySpecType {\n        /**\n         * Indicates the common specified parameters.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the common specified parameters.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the common specified parameters.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        COMMON_PARAMS_SPEC = 0,\n        /**\n         * Indicates the specified parameters of private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the specified parameters of private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the specified parameters of private key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        PRIVATE_KEY_SPEC = 1,\n        /**\n         * Indicates the specified parameters of public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the specified parameters of public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the specified parameters of public key.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        PUBLIC_KEY_SPEC = 2,\n        /**\n         * Indicates the specified parameters of keypair.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the specified parameters of keypair.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the specified parameters of keypair.\n         *\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        KEY_PAIR_SPEC = 3\n    }\n    /**\n     * Provides a base interface for specifying asymmetric key parameters.\n     *\n     * @typedef AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Provides a base interface for specifying asymmetric key parameters.\n     *\n     * @typedef AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides a base interface for specifying asymmetric key parameters.\n     *\n     * @typedef AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface AsyKeySpec {\n        /**\n         * Indicates the algorithm name of the asymmetric key object.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the algorithm name of the asymmetric key object.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the asymmetric key object.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        algName: string;\n        /**\n         * Indicates the type of the specified parameters.\n         *\n         * @type { AsyKeySpecType }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the type of the specified parameters.\n         *\n         * @type { AsyKeySpecType }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the type of the specified parameters.\n         *\n         * @type { AsyKeySpecType }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        specType: AsyKeySpecType;\n    }\n    /**\n     * Specifies the set of parameters used in the DSA algorithm.\n     *\n     * @typedef DSACommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies the set of parameters used in the DSA algorithm.\n     *\n     * @typedef DSACommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the set of parameters used in the DSA algorithm. It can be used to randomly generate a public or private key.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef DSACommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface DSACommonParamsSpec extends AsyKeySpec {\n        /**\n         * Indicates the DSA prime p.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA prime p.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA prime p.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        p: bigint;\n        /**\n         * Indicates the DSA sub-prime q.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA sub-prime q.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA sub-prime q.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        q: bigint;\n        /**\n         * Indicates the DSA base g.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA base g.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA base g.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        g: bigint;\n    }\n    /**\n     * Specifies the DSA public key with its associated parameters.\n     *\n     * @typedef DSAPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies the DSA public key with its associated parameters.\n     *\n     * @typedef DSAPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the DSA public key with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef DSAPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface DSAPubKeySpec extends AsyKeySpec {\n        /**\n         * Indicates the DSA common parameters.\n         *\n         * @type { DSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA common parameters.\n         *\n         * @type { DSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA common parameters.\n         *\n         * @type { DSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        params: DSACommonParamsSpec;\n        /**\n         * Indicates the DSA public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: bigint;\n    }\n    /**\n     * Specifies the DSA keypair with its associated parameters.\n     *\n     * @typedef DSAKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies the DSA keypair with its associated parameters.\n     *\n     * @typedef DSAKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the DSA keypair with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef DSAKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface DSAKeyPairSpec extends AsyKeySpec {\n        /**\n         * Indicates the DSA common parameters.\n         *\n         * @type { DSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA common parameters.\n         *\n         * @type { DSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA common parameters.\n         *\n         * @type { DSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        params: DSACommonParamsSpec;\n        /**\n         * Indicates the DSA private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sk: bigint;\n        /**\n         * Indicates the DSA public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the DSA public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DSA public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: bigint;\n    }\n    /**\n     * Specifies an elliptic curve finite field.\n     *\n     * @typedef ECField\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies an elliptic curve finite field.\n     *\n     * @typedef ECField\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies an elliptic curve finite field. Currently, only the Fp field is supported.\n     *\n     * @typedef ECField\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface ECField {\n        /**\n         * Indicates the type of an elliptic curve finite field.\n         * Currently, only Fp (elliptic curve prime finite field) is supported.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the type of an elliptic curve finite field.\n         * Currently, only Fp (elliptic curve prime finite field) is supported.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the type of an elliptic curve finite field.\n         * Currently, only Fp (elliptic curve prime finite field) is supported.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        fieldType: string;\n    }\n    /**\n     * Specifies an elliptic curve finite field with the prime p.\n     *\n     * @typedef ECFieldFp\n     * @extends ECField\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies an elliptic curve finite field with the prime p.\n     *\n     * @typedef ECFieldFp\n     * @extends ECField\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies an elliptic curve finite field with the prime p.\n     *\n     * @typedef ECFieldFp\n     * @extends ECField\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface ECFieldFp extends ECField {\n        /**\n         * Indicates the prime p.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the prime p.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the prime p.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        p: bigint;\n    }\n    /**\n     * Represents a point on an elliptic curve in affine coordinates.\n     *\n     * @typedef Point\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Represents a point on an elliptic curve in affine coordinates.\n     *\n     * @typedef Point\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Represents a point on an elliptic curve in affine coordinates.\n     *\n     * @typedef Point\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface Point {\n        /**\n         * Indicates the affine x-coordinate.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the affine x-coordinate.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the affine x-coordinate.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        x: bigint;\n        /**\n         * Indicates the affine y-coordinate.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the affine y-coordinate.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the affine y-coordinate.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        y: bigint;\n    }\n    /**\n     * Specifies the set of common parameters used in the ECC algorithm.\n     *\n     * @typedef ECCCommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies the set of common parameters used in the ECC algorithm.\n     *\n     * @typedef ECCCommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the set of common parameters used in the ECC algorithm. It can be used to randomly generate a public or private key.\n     *\n     * @typedef ECCCommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface ECCCommonParamsSpec extends AsyKeySpec {\n        /**\n         * Indicates an elliptic curve finite field.\n         *\n         * @type { ECField }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates an elliptic curve finite field.\n         *\n         * @type { ECField }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates an elliptic curve finite field.\n         *\n         * @type { ECField }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        field: ECField;\n        /**\n         * Indicates the first coefficient a of the elliptic curve.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the first coefficient a of the elliptic curve.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the first coefficient a of the elliptic curve.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        a: bigint;\n        /**\n         * Indicates the second coefficient b of the elliptic curve.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the second coefficient b of the elliptic curve.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the second coefficient b of the elliptic curve.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        b: bigint;\n        /**\n         * Indicates the base point g.\n         *\n         * @type { Point }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the base point g.\n         *\n         * @type { Point }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the base point g.\n         *\n         * @type { Point }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        g: Point;\n        /**\n         * Indicates the order of the base point g.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the order of the base point g.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the order of the base point g.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        n: bigint;\n        /**\n         * Indicates the cofactor h.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the cofactor h.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the cofactor h.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        h: number;\n    }\n    /**\n     * Specifies the ECC private key with its associated parameters.\n     *\n     * @typedef ECCPriKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies the ECC private key with its associated parameters.\n     *\n     * @typedef ECCPriKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the ECC private key with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef ECCPriKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface ECCPriKeySpec extends AsyKeySpec {\n        /**\n         * Indicates the ECC common parameters.\n         *\n         * @type { ECCCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the ECC common parameters.\n         *\n         * @type { ECCCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the ECC common parameters.\n         *\n         * @type { ECCCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        params: ECCCommonParamsSpec;\n        /**\n         * Indicates the private value of the ECC private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the private value of the ECC private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the ECC private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sk: bigint;\n    }\n    /**\n     * Specifies the ECC public key with its associated parameters.\n     *\n     * @typedef ECCPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies the ECC public key with its associated parameters.\n     *\n     * @typedef ECCPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the ECC public key with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef ECCPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface ECCPubKeySpec extends AsyKeySpec {\n        /**\n         * Indicates the ECC common parameters.\n         *\n         * @type { ECCCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the ECC common parameters.\n         *\n         * @type { ECCCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the ECC common parameters.\n         *\n         * @type { ECCCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        params: ECCCommonParamsSpec;\n        /**\n         * Indicates the public point of the ECC public key.\n         *\n         * @type { Point }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the public point of the ECC public key.\n         *\n         * @type { Point }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public point of the ECC public key.\n         *\n         * @type { Point }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: Point;\n    }\n    /**\n     * Specifies the ECC keypair with its associated parameters.\n     *\n     * @typedef ECCKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies the ECC keypair with its associated parameters.\n     *\n     * @typedef ECCKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the ECC keypair with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef ECCKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface ECCKeyPairSpec extends AsyKeySpec {\n        /**\n         * Indicates the ECC common parameters.\n         *\n         * @type { ECCCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the ECC common parameters.\n         *\n         * @type { ECCCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the ECC common parameters.\n         *\n         * @type { ECCCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        params: ECCCommonParamsSpec;\n        /**\n         * Indicates the private value of the ECC private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the private value of the ECC private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the ECC private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sk: bigint;\n        /**\n         * Indicates the public point of the ECC public key.\n         *\n         * @type { Point }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the public point of the ECC public key.\n         *\n         * @type { Point }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public point of the ECC public key.\n         *\n         * @type { Point }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: Point;\n    }\n    /**\n     * Key utilities for ECC Algorithm.\n     *\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides APIs for generating common parameters for an asymmetric key pair based on the elliptic curve name.\n     *\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    class ECCKeyUtil {\n        /**\n         * Create the common parameter set based on the curve name.\n         *\n         * @param { string } curveName - indicates curve name according to the ECC elliptic curve.\n         * @returns { ECCCommonParamsSpec } the ECC common params spec obj.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @static\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generates common parameters for an asymmetric key pair based on the specified name identifier (NID) of an elliptic curve.\n         *\n         * @param { string } curveName - indicates curve name according to the ECC elliptic curve.\n         * @returns { ECCCommonParamsSpec } the ECC common params spec obj.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @static\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        static genECCCommonParamsSpec(curveName: string): ECCCommonParamsSpec;\n        /**\n         * Used to convert the encoded point data to a point object, according to the ECC curve name.\n         *\n         * @param { string } curveName - indicates curve name according to the ECC elliptic curve.\n         * @param { Uint8Array } encodedPoint - the encoded ECC point data.\n         * @returns { Point } the ECC point object.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @static\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        static convertPoint(curveName: string, encodedPoint: Uint8Array): Point;\n        /**\n         * Used to get the encoded point data from a point object, according to the ECC curve name.\n         *\n         * @param { string } curveName - indicates curve name according to the ECC elliptic curve.\n         * @param { Point } point - the ECC point object.\n         * @param { string } format - indicates the format of the encoded point data.\n         * @returns { Uint8Array } the encoded point data.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @static\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        static getEncodedPoint(curveName: string, point: Point, format: string): Uint8Array;\n    }\n    /**\n     * Specifies the set of common parameters used in the DH algorithm.\n     *\n     * @typedef DHCommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the set of common parameters used in the DH algorithm. It can be used to randomly generate a public or private key.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef DHCommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface DHCommonParamsSpec extends AsyKeySpec {\n        /**\n         * Indicates the prime p.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the prime p.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        p: bigint;\n        /**\n         * Indicates the generator g.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the generator g.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        g: bigint;\n        /**\n         * Indicates the byte length of the private key.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the byte length of the private key.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        l: number;\n    }\n    /**\n     * Specifies the DH private key with its associated parameters.\n     *\n     * @typedef DHPriKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the DH private key with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef DHPriKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface DHPriKeySpec extends AsyKeySpec {\n        /**\n         * Indicates the DH common parameters.\n         *\n         * @type { DHCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DH common parameters.\n         *\n         * @type { DHCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        params: DHCommonParamsSpec;\n        /**\n         * Indicates the private value of the DH private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the DH private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sk: bigint;\n    }\n    /**\n     * Specifies the DH public key with its associated parameters.\n     *\n     * @typedef DHPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the DH public key with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef DHPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface DHPubKeySpec extends AsyKeySpec {\n        /**\n         * Indicates the DH common parameters.\n         *\n         * @type { DHCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DH common parameters.\n         *\n         * @type { DHCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        params: DHCommonParamsSpec;\n        /**\n         * Indicates the public value of the DH public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public value of the DH public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: bigint;\n    }\n    /**\n     * Specifies the DH keypair with its associated parameters.\n     *\n     * @typedef DHKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the DH keypair with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef DHKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface DHKeyPairSpec extends AsyKeySpec {\n        /**\n         * Indicates the DH common parameters.\n         *\n         * @type { DHCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the DH common parameters.\n         *\n         * @type { DHCommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        params: DHCommonParamsSpec;\n        /**\n         * Indicates the private value of the DH private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the DH private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sk: bigint;\n        /**\n         * Indicates the public value of the DH public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public value of the DH public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: bigint;\n    }\n    /**\n     * Key utilities for DH Algorithm.\n     *\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Provides APIs for generating common parameters for a DH key based on the prime p length and the private key length.\n     *\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    class DHKeyUtil {\n        /**\n         * Create the common parameter set.\n         *\n         * @param { number } pLen - indicates the byte length of the prime p.\n         * @param { number } [skLen] - indicates the byte length of the private key.\n         * @returns { DHCommonParamsSpec } the DH common params spec obj.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @static\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generates common parameters for a DH key based on the prime p length and the private key length.\n         *\n         * @param { number } pLen - indicates the byte length of the prime p.\n         * @param { number } [skLen] - indicates the byte length of the private key.\n         * @returns { DHCommonParamsSpec } the DH common params spec obj.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 801 - this operation is not supported.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @static\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        static genDHCommonParamsSpec(pLen: number, skLen?: number): DHCommonParamsSpec;\n    }\n    /**\n     * Specifies the ED25519 private key with its associated parameters.\n     *\n     * @typedef ED25519PriKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the ED25519 private key with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef ED25519PriKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface ED25519PriKeySpec extends AsyKeySpec {\n        /**\n         * Indicates the private value of the ED25519 private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the ED25519 private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sk: bigint;\n    }\n    /**\n     * Specifies the ED25519 public key with its associated parameters.\n     *\n     * @typedef ED25519PubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the ED25519 public key with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef ED25519PubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface ED25519PubKeySpec extends AsyKeySpec {\n        /**\n         * Indicates the public value of the ED25519 public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public value of the ED25519 public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: bigint;\n    }\n    /**\n     * Specifies the ED25519 keypair with its associated parameters.\n     *\n     * @typedef ED25519KeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the ED25519 keypair with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef ED25519KeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface ED25519KeyPairSpec extends AsyKeySpec {\n        /**\n         * Indicates the private value of the ED25519 private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the ED25519 private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sk: bigint;\n        /**\n         * Indicates the public value of the ED25519 public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public value of the ED25519 public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: bigint;\n    }\n    /**\n     * Specifies the X25519 private key with its associated parameters.\n     *\n     * @typedef X25519PriKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the X25519 private key with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef X25519PriKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface X25519PriKeySpec extends AsyKeySpec {\n        /**\n         * Indicates the private value of the X25519 private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the X25519 private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sk: bigint;\n    }\n    /**\n     * Specifies the X25519 public key with its associated parameters.\n     *\n     * @typedef X25519PubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the X25519 public key with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef X25519PubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface X25519PubKeySpec extends AsyKeySpec {\n        /**\n         * Indicates the public value of the X25519 public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public value of the X25519 public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: bigint;\n    }\n    /**\n     * Specifies the X25519 keypair with its associated parameters.\n     *\n     * @typedef X25519KeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the X25519 keypair with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef X25519KeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface X25519KeyPairSpec extends AsyKeySpec {\n        /**\n         * Indicates the private value of the X25519 private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private value of the X25519 private key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sk: bigint;\n        /**\n         * Indicates the public value of the X25519 public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public value of the X25519 public key.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: bigint;\n    }\n    /**\n     * Specifies the set of common parameters used in the RSA algorithm.\n     *\n     * @typedef RSACommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies the set of common parameters used in the RSA algorithm.\n     *\n     * @typedef RSACommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the set of common parameters used in the RSA algorithm.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef RSACommonParamsSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface RSACommonParamsSpec extends AsyKeySpec {\n        /**\n         * Indicates the modulus n.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the modulus n.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the modulus n.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        n: bigint;\n    }\n    /**\n     * Specifies the RSA public key with its associated parameters.\n     *\n     * @typedef RSAPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies the RSA public key with its associated parameters.\n     *\n     * @typedef RSAPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the RSA public key with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef RSAPubKeySpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface RSAPubKeySpec extends AsyKeySpec {\n        /**\n         * Indicates the RSA common parameters.\n         *\n         * @type { RSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the RSA common parameters.\n         *\n         * @type { RSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the RSA common parameters.\n         *\n         * @type { RSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        params: RSACommonParamsSpec;\n        /**\n         * Indicates the public exponent e.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the public exponent e.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public exponent e.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: bigint;\n    }\n    /**\n     * Specifies the RSA keypair with its associated parameters.\n     *\n     * @typedef RSAKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Specifies the RSA keypair with its associated parameters.\n     *\n     * @typedef RSAKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the RSA keypair with its associated parameters.\n     * To generate a key based on key parameters, pass it to createAsyKeyGeneratorBySpec to create a key generator.\n     *\n     * @typedef RSAKeyPairSpec\n     * @extends AsyKeySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface RSAKeyPairSpec extends AsyKeySpec {\n        /**\n         * Indicates the RSA common parameters.\n         *\n         * @type { RSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the RSA common parameters.\n         *\n         * @type { RSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the RSA common parameters.\n         *\n         * @type { RSACommonParamsSpec }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        params: RSACommonParamsSpec;\n        /**\n         * Indicates the private exponent d.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the private exponent d.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the private exponent d.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        sk: bigint;\n        /**\n         * Indicates the public exponent e.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the public exponent e.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the public exponent e.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        pk: bigint;\n    }\n    /**\n     * The AsyKeyGeneratorBySpec provides the ability to generate key with its associated parameters.\n     *\n     * @typedef AsyKeyGeneratorBySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * The AsyKeyGeneratorBySpec provides the ability to generate key with its associated parameters.\n     *\n     * @typedef AsyKeyGeneratorBySpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * The AsyKeyGeneratorBySpec provides the ability to generate key with its associated parameters.\n     * Before using the APIs of this class, you need to use createAsyKeyGeneratorBySpec to create an AsyKeyGeneratorBySpec instance.\n     *\n     * @typedef AsyKeyGeneratorBySpec\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface AsyKeyGeneratorBySpec {\n        /**\n         * Generate an asymmetric keypair.\n         *\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Incorrect parameter types;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Generate an asymmetric keypair.\n         *\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Incorrect parameter types;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generate an asymmetric keypair.\n         *\n         * @param { AsyncCallback<KeyPair> } callback - the callback used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Incorrect parameter types;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateKeyPair(callback: AsyncCallback<KeyPair>): void;\n        /**\n         * Generate an asymmetric keypair.\n         *\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Generate an asymmetric keypair.\n         *\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generate an asymmetric keypair.\n         *\n         * @returns { Promise<KeyPair> } the promise used to return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateKeyPair(): Promise<KeyPair>;\n        /**\n         * Generate an asymmetric keypair.\n         *\n         * @returns { KeyPair } return keypair.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateKeyPairSync(): KeyPair;\n        /**\n         * Generate a private key instance.\n         *\n         * @param { AsyncCallback<PriKey> } callback - the callback used to return PriKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Mandatory parameters are left unspecified;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Generate a private key instance.\n         *\n         * @param { AsyncCallback<PriKey> } callback - the callback used to return PriKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Mandatory parameters are left unspecified;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generate a private key instance.\n         *\n         * @param { AsyncCallback<PriKey> } callback - the callback used to return PriKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Mandatory parameters are left unspecified;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generatePriKey(callback: AsyncCallback<PriKey>): void;\n        /**\n         * Generate a private key instance.\n         *\n         * @returns { Promise<PriKey> } the promise used to return PriKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Generate a private key instance.\n         *\n         * @returns { Promise<PriKey> } the promise used to return PriKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generate a private key instance.\n         *\n         * @returns { Promise<PriKey> } the promise used to return PriKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generatePriKey(): Promise<PriKey>;\n        /**\n         * Generate a private key instance.\n         *\n         * @returns { PriKey } return PriKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generatePriKeySync(): PriKey;\n        /**\n         * Generate a public key instance.\n         *\n         * @param { AsyncCallback<PubKey> } callback - the callback used to return PubKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Incorrect parameter types;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Generate a public key instance.\n         *\n         * @param { AsyncCallback<PubKey> } callback - the callback used to return PubKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Incorrect parameter types;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generate a public key instance.\n         *\n         * @param { AsyncCallback<PubKey> } callback - the callback used to return PubKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: Incorrect parameter types;\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generatePubKey(callback: AsyncCallback<PubKey>): void;\n        /**\n         * Generate a public key instance.\n         *\n         * @returns { Promise<PubKey> } the promise used to return PubKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Generate a public key instance.\n         *\n         * @returns { Promise<PubKey> } the promise used to return PubKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generate a public key instance.\n         *\n         * @returns { Promise<PubKey> } the promise used to return PubKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generatePubKey(): Promise<PubKey>;\n        /**\n         * Generate a public key instance.\n         *\n         * @returns { PubKey } return PubKey.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generatePubKeySync(): PubKey;\n        /**\n         * Indicates the algorithm name of the generator.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @since 10\n         */\n        /**\n         * Indicates the algorithm name of the generator.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the generator.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Create an asymmetric key generator with the specified parameters.\n     *\n     * @param { AsyKeySpec } asyKeySpec - indicates the associated parameters of algorithm.\n     * @returns { AsyKeyGeneratorBySpec } the generator obj create by asyKeySpec.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @since 10\n     */\n    /**\n     * Create an asymmetric key generator with the specified parameters.\n     *\n     * @param { AsyKeySpec } asyKeySpec - indicates the associated parameters of algorithm.\n     * @returns { AsyKeyGeneratorBySpec } the generator obj create by asyKeySpec.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Create an asymmetric key generator with the specified parameters.\n     *\n     * @param { AsyKeySpec } asyKeySpec - indicates the associated parameters of algorithm.\n     * @returns { AsyKeyGeneratorBySpec } the generator obj create by asyKeySpec.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework.Key.AsymKey\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createAsyKeyGeneratorBySpec(asyKeySpec: AsyKeySpec): AsyKeyGeneratorBySpec;\n    /**\n     * Specifies the key derivation function parameters.\n     *\n     * @typedef KdfSpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the key derivation function parameters.\n     * When the key derivation function is used to derive a key, you need to construct and pass in a child class object of KdfSpec.\n     *\n     * @typedef KdfSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Kdf\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface KdfSpec {\n        /**\n         * Indicates the algorithm name of key derivation function.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of key derivation function.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        algName: string;\n    }\n    /**\n     * Specifies the PBKDF2 parameters.\n     *\n     * @typedef PBKDF2Spec\n     * @extends KdfSpec\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Specifies the PBKDF2 parameters.\n     *\n     * @typedef PBKDF2Spec\n     * @extends KdfSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Kdf\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface PBKDF2Spec extends KdfSpec {\n        /**\n         * Indicates the password parameter of PBKDF2.\n         *\n         * @type { string | Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the password parameter of PBKDF2.\n         *\n         * @type { string | Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        password: string | Uint8Array;\n        /**\n         * Indicates the salt parameter of PBKDF2.\n         *\n         * @type { Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the salt parameter of PBKDF2.\n         *\n         * @type { Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        salt: Uint8Array;\n        /**\n         * Indicates the iteration number of PBKDF2.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the iteration number of PBKDF2.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        iterations: number;\n        /**\n         * Indicates the byte length of output key of PBKDF2.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the byte length of output key of PBKDF2.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        keySize: number;\n    }\n    /**\n     * Specifies the HKDF parameters.\n     *\n     * @typedef HKDFSpec\n     * @extends KdfSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Kdf\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface HKDFSpec extends KdfSpec {\n        /**\n         * Indicates the key parameter of HKDF.\n         *\n         * @type { string | Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        key: string | Uint8Array;\n        /**\n         * Indicates the salt parameter of HKDF.\n         *\n         * @type { Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        salt: Uint8Array;\n        /**\n         * Indicates the info about the context of HKDF.\n         *\n         * @type { Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        info: Uint8Array;\n        /**\n         * Indicates the byte length of output key of HKDF.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        keySize: number;\n    }\n    /**\n     * Specifies the SCRYPT parameters.\n     *\n     * @extends KdfSpec\n     * @typedef ScryptSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Kdf\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    interface ScryptSpec extends KdfSpec {\n        /**\n         * Indicates the passphrase parameter of SCRYPT.\n         *\n         * @type { string | Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        passphrase: string | Uint8Array;\n        /**\n         * Indicates the salt parameter of SCRYPT.\n         *\n         * @type { Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        salt: Uint8Array;\n        /**\n         * Indicates the cost parameter of SCRYPT.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        n: number;\n        /**\n         * Indicates the block size parameter of SCRYPT.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        r: number;\n        /**\n         * Indicates the parallelization parameter of SCRYPT.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        p: number;\n        /**\n         * Indicates the byte length of memory of SCRYPT.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        maxMemory: number;\n        /**\n         * Indicates the byte length of output key of SCRYPT.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 18\n         */\n        keySize: number;\n    }\n    /**\n     * The key derivation function object provides the ability to derive key with its associated parameters.\n     *\n     * @typedef Kdf\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * The key derivation function object provides the ability to derive key with its associated parameters.\n     * Before using APIs of this class, you need to create an instance of this class by using createKdf.\n     *\n     * @typedef Kdf\n     * @syscap SystemCapability.Security.CryptoFramework.Kdf\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface Kdf {\n        /**\n         * Generate a dataBlob object of secret key.\n         *\n         * @param { KdfSpec } params - the input params of key derivation function.\n         * @param { AsyncCallback<DataBlob> } callback - the callback used to return dataBlob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generate a dataBlob object of secret key.\n         *\n         * @param { KdfSpec } params - the input params of key derivation function.\n         * @param { AsyncCallback<DataBlob> } callback - the callback used to return dataBlob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateSecret(params: KdfSpec, callback: AsyncCallback<DataBlob>): void;\n        /**\n         * Generate a dataBlob object of secret key.\n         *\n         * @param { KdfSpec } params - the input params of key derivation function.\n         * @returns { Promise<DataBlob> } the promise used to return dataBlob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Generate a dataBlob object of secret key.\n         *\n         * @param { KdfSpec } params - the input params of key derivation function.\n         * @returns { Promise<DataBlob> } the promise used to return dataBlob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateSecret(params: KdfSpec): Promise<DataBlob>;\n        /**\n         * Generate a dataBlob object of secret key.\n         *\n         * @param { KdfSpec } params - the input params of key derivation function.\n         * @returns { DataBlob } the sync used to return dataBlob.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        generateSecretSync(params: KdfSpec): DataBlob;\n        /**\n         * Indicates the algorithm name of the key derivation function.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework\n         * @crossplatform\n         * @since 11\n         */\n        /**\n         * Indicates the algorithm name of the key derivation function.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Security.CryptoFramework.Kdf\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly algName: string;\n    }\n    /**\n     * Create a key derivation function object.\n     *\n     * @param { string } algName - indicates the algorithm name and params.\n     * @returns { Kdf } the key derivation function object.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Create a key derivation function object.\n     *\n     * @param { string } algName - indicates the algorithm name and params. Multiple parameters need to be concatenated by \"|\".\n     * @returns { Kdf } the key derivation function object.\n     * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n     * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - this operation is not supported.\n     * @throws { BusinessError } 17620001 - memory operation failed.\n     * @syscap SystemCapability.Security.CryptoFramework.Kdf\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    function createKdf(algName: string): Kdf;\n    /**\n     * Provides the interface for specifying detailed data in the SM2 ciphertext in ASN.1 format.\n     *\n     * @typedef SM2CipherTextSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Cipher\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface SM2CipherTextSpec {\n        /**\n         * Indicates the x coordinate, also known as C1x.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        xCoordinate: bigint;\n        /**\n         * Indicates the y coordinate, also known as C1y.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        yCoordinate: bigint;\n        /**\n         * Indicates the detailed ciphertext data, also known as C2.\n         *\n         * @type { Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        cipherTextData: Uint8Array;\n        /**\n         * Indicates the hash data, also known as C3.\n         *\n         * @type { Uint8Array }\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        hashData: Uint8Array;\n    }\n    /**\n     * Utilities for SM2 crypto operations.\n     *\n     * @syscap SystemCapability.Security.CryptoFramework.Cipher\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    class SM2CryptoUtil {\n        /**\n         * Generate the SM2 ciphertext in ASN.1 format according to the specific data.\n         *\n         * @param { SM2CipherTextSpec } spec - indicates the specific data of SM2 ciphertext.\n         * @param { string } [mode] - indicates the arrangement mode of the SM2 ciphertext.\n         * @returns { DataBlob } the SM2 ciphertext in ASN.1 format.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @static\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        static genCipherTextBySpec(spec: SM2CipherTextSpec, mode?: string): DataBlob;\n        /**\n         * Get the specific data from the SM2 ciphertext in ASN.1 format.\n         *\n         * @param { DataBlob } cipherText - indicates the SM2 ciphertext in ASN.1 format.\n         * @param { string } [mode] - indicates the arrangement mode of the SM2 ciphertext.\n         * @returns { SM2CipherTextSpec } the specific data of SM2 ciphertext.\n         * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified;\n         * <br>2. Incorrect parameter types; 3. Parameter verification failed.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @static\n         * @syscap SystemCapability.Security.CryptoFramework.Cipher\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        static getCipherTextSpec(cipherText: DataBlob, mode?: string): SM2CipherTextSpec;\n    }\n    /**\n     * Defines the ECC signature spec, also works with SM2 signature.\n     *\n     * @typedef EccSignatureSpec\n     * @syscap SystemCapability.Security.CryptoFramework.Signature\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n     */\n    interface EccSignatureSpec {\n        /**\n         * Indicates the r value of the signature.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 20\n         */\n        r: bigint;\n        /**\n         * Indicates the s value of the signature.\n         *\n         * @type { bigint }\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 20\n         */\n        s: bigint;\n    }\n    /**\n     * Utilities for signature operations.\n     *\n     * @syscap SystemCapability.Security.CryptoFramework.Signature\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n     */\n    class SignatureUtils {\n        /**\n         * Generates the ECC signature spec from the ECC signature in DER format.\n         *\n         * @param { Uint8Array } data - indicates the signature in DER format.\n         * @returns { EccSignatureSpec } the ECC signature spec.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17620003 - parameter check failed. Possible causes:\n         * <br>1. The length of the data parameter is 0 or too large.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @static\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 20\n         */\n        static genEccSignatureSpec(data: Uint8Array): EccSignatureSpec;\n        /**\n         * Generates the ECC signature in DER format according to the ECC signature spec.\n         *\n         * @param { EccSignatureSpec } spec - indicates the ECC signature spec.\n         * @returns { Uint8Array } the signature in DER format.\n         * @throws { BusinessError } 17620001 - memory operation failed.\n         * @throws { BusinessError } 17620002 - failed to convert parameters between arkts and c.\n         * @throws { BusinessError } 17620003 - parameter check failed. Possible causes:\n         * <br>1. The r or s value of the spec parameter is 0 or too large.\n         * @throws { BusinessError } 17630001 - crypto operation error.\n         * @static\n         * @syscap SystemCapability.Security.CryptoFramework.Signature\n         * @crossplatform\n         * @atomicservice\n         * @since 20\n         */\n        static genEccSignature(spec: EccSignatureSpec): Uint8Array;\n    }\n}\nexport default cryptoFramework;\n",
}
export default FILE;